import { IPSModelObject } from '../../ipsmodel-object';
import { IPSDEWizardStep } from './ipsdewizard-step';
import { IPSLanguageRes } from '../../res/ipslanguage-res';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEWizardForm
 */
export interface IPSDEWizardForm extends IPSModelObject {
  /**
   * 下一步确认信息2语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCM2PSLanguageRes(): IPSLanguageRes | null;

  /**
   * 下一步确认信息2语言资源
   *
   * @type {IPSLanguageRes}
   */
  get cM2PSLanguageRes(): IPSLanguageRes | null;

  /**
   * 下一步确认信息2语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getCM2PSLanguageResMust(): IPSLanguageRes;

  /**
   * 下一步确认信息语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCMPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 下一步确认信息语言资源
   *
   * @type {IPSLanguageRes}
   */
  get cMPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 下一步确认信息语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getCMPSLanguageResMust(): IPSLanguageRes;

  /**
   * 下一步确认信息
   * @type {string}
   */
  confirmMsg: string;

  /**
   * 下一步确认信息2
   * @type {string}
   */
  confirmMsg2: string;

  /**
   * 向导表单标记
   * @type {string}
   */
  formTag: string;

  /**
   * 实体表单名称
   * @type {string}
   */
  psDEFormName: string;

  /**
   * 实体表单名称
   * @type {string}
   */
  getPSDEFormName(): string;

  /**
   * 向导步骤对象
   *
   * @type {IPSDEWizardStep}
   */
  getPSDEWizardStep(): IPSDEWizardStep | null;

  /**
   * 向导步骤对象
   *
   * @type {IPSDEWizardStep}
   */
  get psDEWizardStep(): IPSDEWizardStep | null;

  /**
   * 向导步骤对象（必须存在）
   *
   * @type {IPSDEWizardStep}
   */
  getPSDEWizardStepMust(): IPSDEWizardStep;

  getStepActions(): string[] | null;

  get stepActions(): string[] | null;

  /**
   * 首表单
   * @type {boolean}
   */
  firstForm: boolean;
}
